﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ProfessorLib.Basic;
using ProfessorLib.Repositorio;
using System.Data;

namespace ProfessorLib.Regra
{
    public class RegProfessor
    {
        public void campoVazio(Professor professor)
        {
            List<String> campos = new List<string>();
            campos.Add(professor.Disciplina.Nome.ToString());
            campos.Add(professor.Email.ToString());
            campos.Add(professor.Endereco.ToString());
            campos.Add(professor.Fone.ToString());
            campos.Add(professor.Funcao.ToString());
            campos.Add(professor.Matricula.ToString());
            campos.Add(professor.Nome.ToString());
            campos.Add(professor.Sexo.ToString());
            campos.Add(professor.Titulacao.ToString());

            for (int i = 0; i < campos.Count; i++)
			{
                if (campos[i].Equals(""))
                {
                    throw new Exception("Campos em branco!");
                }
			}
        }

        public void validarCombos(Professor obj)
        {
            if ((!obj.Sexo.ToString().Equals("Selecione"))||(!obj.Disciplina.Nome.Equals("Selecione")))
            {
                throw new Exception("Campos Sexo e Disciplina devem ser selecionados!");
            }
        }

        public void campoExistente(Professor obj)
        {

            try
            {

                List<Professor> lista = RepProfessor.getInstancia().listar();

                for (int i = 0; i < lista.Count; i++)
                {
                    if (obj.Email.Equals(lista[i].Email))
                    {
                        throw new Exception("Email já cadastrado no sistema!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        
        public void campoExistenteAlterar(Professor obj)
        {

            try
            {
                List<Professor> lista = RepProfessor.getInstancia().listarAlterar(obj);

                for (int i = 0; i < lista.Count; i++)
                {
                    if (obj.Email.Equals(lista[i].Email))
                    {
                        throw new Exception("Email já cadastrado no sistema!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
         
         
        /*
        public void verificarExistencia(Disciplina obj, List<Disciplina> listaBanco)
        {
            try
            {

                for (int i = 0; i < listaBanco.Count; i++)
                {
                    if (obj.Codigo != listaBanco[i].Codigo)
                    {
                        throw new Exception("A pesquisa não retornou registros!");
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
         * */
        
    }
}
